解题思路:
第一处:首先判断字符串的长度是奇数还是偶数,如果是奇数,则k=n-1,所以应填:1。
第二处:取字符串最后一个奇数位的字符,并由变量c保存,所以应填:s[k]。
第三处:第1位奇数位用最一个奇数位字符替换,所以应填:c。
***************************************************
给定程序MODI1.C中 fun 函数的功能是:求 s = aa… aa - ... - aaa - aa - a (此处 aa… aa 表示 n 个 a, a 和 n 的值在 1 至 9 之间)
例如 a = 3, n = 6, 则以上表达式为:
s = 333333 - 33333 - 3333 - 333 - 33 - 3
其值是:296298 a 和 n 是 fun 函数的形参,表达式的值作为函数值传回 main函数。
请改正程序中的错误,使它能计算出正确的结果。
注意: 不要改动 main 函数,不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
long fun (int a, int n)
{ int j ;
long s = 0, t = 1 ;
for ( j = 0 ; j < n ; j++)
t = t * 10 + a ;
s = t ;
for ( j = 1 ; j < n ; j++) {
t = t % 10 ;
s = s - t ;
}
return(s) ;
}
main( )
{ int a, n ;
printf( "\nPlease enter a and n:") ;
scanf( "%d%d", &a, &n ) ;
printf( "The value of function is: %ld\n", fun ( a, n ) );
}